package com.rosaloves.bitlyj;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import com.rosaloves.bitlyj.data.Pair;
public class OauthBitlyProvider extends SimpleProvider {
private static final String OAUTH_ENDPOINT = "https://api-ssl.bitly.com/v3";
private String accessToken;
public OauthBitlyProvider(String accessToken) {
super(null, null, null, null);
this.accessToken = accessToken;
}
@Override
public String toString() {
return "OAuth Bitly Provider";
}
@Override
protected String getUrlForCall(BitlyMethod<?> m) {
StringBuilder sb = new StringBuilder(OAUTH_ENDPOINT).append(m.getName() + "?").append("&access_token=").append(accessToken).append("&format=xml");
try {
for (Pair<String, String> p : m.getParameters()) {
sb.append("&" + p.getOne() + "=" + URLEncoder.encode(p.getTwo(), "UTF-8"));
}
}
catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
return sb.toString();
}
}